package org.lestr.secuel.sogl.objets3D;

import org.lestr.secuel.m3ds.IUsine;
import org.lestr.secuel.m3ds.maths.IPoint3d;
import org.lestr.secuel.m3ds.objets3D.ISommet;
import org.lestr.secuel.m3ds.objets3D.ITriangle;

public class Triangle implements ITriangle {


    // Déclaration de constantes
    private static final long serialVersionUID = 1L;


    // Déclaration des variables globales
    private ISommet sommet1;


    private ISommet sommet2;


    private ISommet sommet3;


    // Constructeur vide
    public Triangle(IUsine usine) {

        // Instenciation des variables globales
        this.sommet1 = usine.sommet(this);
        this.sommet2 = usine.sommet(this);
        this.sommet3 = usine.sommet(this);

    }// FIN Constructeur vide


    // Constructeur vide
    public Triangle(IUsine usine,
                    IPoint3d sommet1,
                    IPoint3d sommet2,
                    IPoint3d sommet3) {

        this(usine);

        this.sommet1 = usine.sommet(this, sommet1);
        this.sommet2 = usine.sommet(this, sommet2);
        this.sommet3 = usine.sommet(this, sommet3);

    }// FIN Constructeur vide


    /** Retourne le sommet 1 */
    @Override
    public ISommet obtenirSommet1() {

        return sommet1;

    }// FIN retSommet1


    /** Retourne le sommet 2 */
    @Override
    public ISommet obtenirSommet2() {

        return sommet2;

    }// FIN retSommet3


    /** Retourne le sommet 3 */
    @Override
    public ISommet obtenirSommet3() {

        return sommet3;

    }// FIN retSommet3


}// FIN Classe
